Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RMET-2095 ::: Add Payment Service Provider as TriggerPayment Input Parameter #12

Conversation

OS-ricardomoreirasilva
Copy link
Collaborator

@OS-ricardomoreirasilva OS-ricardomoreirasilva commented Dec 12, 2022

Description

Add gateway property to OSPMTDetailsModel struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

Two Sample App builds were generated to test the new features:

Note: Code coverage should be small as most of the code is covering Apple Pay specific code.

Context

https://outsystemsrd.atlassian.net/browse/RMET-2095

Type of changes

  • Fix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Refactor (cosmetic changes)
  • Breaking change (change that would cause existing functionality to not work as expected)

Tests

The existing ones were updated where needed. All are passing successfully.

Checklist

  • Pull request title follows the format RNMT-XXXX <title>
  • Code follows code style of this project
  • CHANGELOG.md file is correctly updated
  • Changes require an update to the documentation
    • Documentation has been updated accordingly

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).
@OS-ricardomoreirasilva OS-ricardomoreirasilva force-pushed the feat/RMET-2095/payment-service-provider-as-action-parameter branch from 4e076ac to 2d2d362 Compare December 13, 2022 10:47
@sonarcloud
Copy link

sonarcloud bot commented Dec 13, 2022

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

24.1% 24.1% Coverage
0.0% 0.0% Duplication

@OS-ricardomoreirasilva OS-ricardomoreirasilva merged commit d96dba9 into development Dec 13, 2022
@OS-ricardomoreirasilva OS-ricardomoreirasilva deleted the feat/RMET-2095/payment-service-provider-as-action-parameter branch December 13, 2022 14:45
OS-ricardomoreirasilva added a commit that referenced this pull request Jan 10, 2023
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.
OS-ricardomoreirasilva added a commit that referenced this pull request Mar 1, 2023
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* feat: Make library available as xcframework (#15)

Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.

* chore: Set Release Tag
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* feat: Make library available as xcframework (#15)

Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.

* chore: Set Release Tag
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* feat: Make library available as xcframework (#15)

Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.

* chore: Set Release Tag
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* feat: Make library available as xcframework (#15)

Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.

* chore: Set Release Tag
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* feat: Make library available as xcframework (#15)

Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.

* chore: Set Release Tag
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* feat: Make library available as xcframework (#15)

Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.

* chore: Set Release Tag
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* feat: Make library available as xcframework (#15)

Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.

* chore: Set Release Tag
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* feat: Make library available as xcframework (#15)

Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.

* chore: Set Release Tag
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* feat: Make library available as xcframework (#15)

Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.

* chore: Set Release Tag
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* feat: Make library available as xcframework (#15)

Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.

* chore: Set Release Tag
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* feat: Make library available as xcframework (#15)

Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.

* chore: Set Release Tag
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
commit ee57cd8
Author: Mike Summerfeldt <20338451+IT-MikeS@users.noreply.github.com>
Date:   Mon Mar 18 11:29:02 2024 -0400

    chore: add CODEOWNERS (#18)

    Signed-off-by: IT-MikeS <20338451+IT-MikeS@users.noreply.github.com>

commit 8717712
Author: Ricardo Silva <97543217+OS-ricardomoreirasilva@users.noreply.github.com>
Date:   Wed Mar 1 11:50:39 2023 +0000

    Prepare Release 1.1.1 (#16)

    * chore: Include swiftlint

    * feat: Plugin init + Setup Configurations (#1)

    Initialise plugin with required structure.
    Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
    Add Nimble and Quick through Cocoapods to use BDD for unit testing.

    * feat: Check Wallet and Payment Availability (#2)

    Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

    * feat: Set Details and Trigger Payment (#3)

    Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

    * refactor: Add DocC documentation and minor fixes. (#4)

    Add DocC documentation.
    Add empty value check and mandatory fields when fetching configuration properties.

    * fix: Payment Setup Verification Failed on Invalid Configuration (#5)

    Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

    * fix: Errors and Contact Management (#6)

    Clean errors and its codes and messages accordingly.
    New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
    Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
    Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

    * fix: Check if GivenName and FamilyName are empty (#7)

    * chore: Add Unreleased Section

    * Chore: Add Podspec (#9)

    * refactor: Simply Generic Method

    * chore: Add public podspec

    Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

    * feat: Add Stripe as First Payment Gateway (#11)

    Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

    * Feat: Add Gateway property to OSPMTDetailsModel (#12)

    Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

    * feat: Add AccessToken to Full Payment Process (#13)

    Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
    In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

    * chore: Set Release Tag

    Set release tag on the repo's CHANGELOG file.

    * feat: Make library available as xcframework (#15)

    Add the necessary script (script.sh) to make the library available as a xcframework.
    Remove podspec file as the CocoaPods approach was discarded.
    Exchange Stripe pod for a Swift Package Manager.

    * chore: Set Release Tag

commit ce50ffe
Author: Ricardo Silva <97543217+OS-ricardomoreirasilva@users.noreply.github.com>
Date:   Tue Jan 10 10:26:28 2023 +0000

    Prepare Release 1.1.0 (#14)

    * chore: Include swiftlint

    * feat: Plugin init + Setup Configurations (#1)

    Initialise plugin with required structure.
    Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
    Add Nimble and Quick through Cocoapods to use BDD for unit testing.

    * feat: Check Wallet and Payment Availability (#2)

    Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

    * feat: Set Details and Trigger Payment (#3)

    Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

    * refactor: Add DocC documentation and minor fixes. (#4)

    Add DocC documentation.
    Add empty value check and mandatory fields when fetching configuration properties.

    * fix: Payment Setup Verification Failed on Invalid Configuration (#5)

    Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

    * fix: Errors and Contact Management (#6)

    Clean errors and its codes and messages accordingly.
    New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
    Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
    Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

    * fix: Check if GivenName and FamilyName are empty (#7)

    * chore: Add Unreleased Section

    * Chore: Add Podspec (#9)

    * refactor: Simply Generic Method

    * chore: Add public podspec

    Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

    * feat: Add Stripe as First Payment Gateway (#11)

    Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

    * Feat: Add Gateway property to OSPMTDetailsModel (#12)

    Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

    * feat: Add AccessToken to Full Payment Process (#13)

    Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
    In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

    * chore: Set Release Tag

    Set release tag on the repo's CHANGELOG file.

commit e1d22e9
Author: Ricardo Silva <97543217+OS-ricardomoreirasilva@users.noreply.github.com>
Date:   Wed Nov 16 18:08:12 2022 +0000

    Merge Development Into Main (#10)

    * chore: Include swiftlint

    * feat: Plugin init + Setup Configurations (#1)

    Initialise plugin with required structure.
    Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
    Add Nimble and Quick through Cocoapods to use BDD for unit testing.

    * feat: Check Wallet and Payment Availability (#2)

    Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

    * feat: Set Details and Trigger Payment (#3)

    Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

    * refactor: Add DocC documentation and minor fixes. (#4)

    Add DocC documentation.
    Add empty value check and mandatory fields when fetching configuration properties.

    * fix: Payment Setup Verification Failed on Invalid Configuration (#5)

    Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

    * fix: Errors and Contact Management (#6)

    Clean errors and its codes and messages accordingly.
    New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
    Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
    Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

    * fix: Check if GivenName and FamilyName are empty (#7)

    * chore: Add Unreleased Section

    * Chore: Add Podspec (#9)

    * refactor: Simply Generic Method

    * chore: Add public podspec

    Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

commit 85bc27b
Author: Ricardo Silva <97543217+OS-ricardomoreirasilva@users.noreply.github.com>
Date:   Fri Aug 26 14:48:41 2022 +0100

    Merge Everything into Main (#8)

    * chore: Include swiftlint

    * feat: Plugin init + Setup Configurations (#1)

    Initialise plugin with required structure.
    Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
    Add Nimble and Quick through Cocoapods to use BDD for unit testing.

    * feat: Check Wallet and Payment Availability (#2)

    Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

    * feat: Set Details and Trigger Payment (#3)

    Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

    * refactor: Add DocC documentation and minor fixes. (#4)

    Add DocC documentation.
    Add empty value check and mandatory fields when fetching configuration properties.

    * fix: Payment Setup Verification Failed on Invalid Configuration (#5)

    Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

    * fix: Errors and Contact Management (#6)

    Clean errors and its codes and messages accordingly.
    New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
    Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
    Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

    * fix: Check if GivenName and FamilyName are empty (#7)
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
commit ee57cd8
Author: Mike Summerfeldt <20338451+IT-MikeS@users.noreply.github.com>
Date:   Mon Mar 18 11:29:02 2024 -0400

    chore: add CODEOWNERS (#18)

    Signed-off-by: IT-MikeS <20338451+IT-MikeS@users.noreply.github.com>

commit 8717712
Author: Ricardo Silva <97543217+OS-ricardomoreirasilva@users.noreply.github.com>
Date:   Wed Mar 1 11:50:39 2023 +0000

    Prepare Release 1.1.1 (#16)

    * chore: Include swiftlint

    * feat: Plugin init + Setup Configurations (#1)

    Initialise plugin with required structure.
    Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
    Add Nimble and Quick through Cocoapods to use BDD for unit testing.

    * feat: Check Wallet and Payment Availability (#2)

    Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

    * feat: Set Details and Trigger Payment (#3)

    Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

    * refactor: Add DocC documentation and minor fixes. (#4)

    Add DocC documentation.
    Add empty value check and mandatory fields when fetching configuration properties.

    * fix: Payment Setup Verification Failed on Invalid Configuration (#5)

    Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

    * fix: Errors and Contact Management (#6)

    Clean errors and its codes and messages accordingly.
    New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
    Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
    Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

    * fix: Check if GivenName and FamilyName are empty (#7)

    * chore: Add Unreleased Section

    * Chore: Add Podspec (#9)

    * refactor: Simply Generic Method

    * chore: Add public podspec

    Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

    * feat: Add Stripe as First Payment Gateway (#11)

    Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

    * Feat: Add Gateway property to OSPMTDetailsModel (#12)

    Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

    * feat: Add AccessToken to Full Payment Process (#13)

    Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
    In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

    * chore: Set Release Tag

    Set release tag on the repo's CHANGELOG file.

    * feat: Make library available as xcframework (#15)

    Add the necessary script (script.sh) to make the library available as a xcframework.
    Remove podspec file as the CocoaPods approach was discarded.
    Exchange Stripe pod for a Swift Package Manager.

    * chore: Set Release Tag

commit ce50ffe
Author: Ricardo Silva <97543217+OS-ricardomoreirasilva@users.noreply.github.com>
Date:   Tue Jan 10 10:26:28 2023 +0000

    Prepare Release 1.1.0 (#14)

    * chore: Include swiftlint

    * feat: Plugin init + Setup Configurations (#1)

    Initialise plugin with required structure.
    Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
    Add Nimble and Quick through Cocoapods to use BDD for unit testing.

    * feat: Check Wallet and Payment Availability (#2)

    Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

    * feat: Set Details and Trigger Payment (#3)

    Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

    * refactor: Add DocC documentation and minor fixes. (#4)

    Add DocC documentation.
    Add empty value check and mandatory fields when fetching configuration properties.

    * fix: Payment Setup Verification Failed on Invalid Configuration (#5)

    Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

    * fix: Errors and Contact Management (#6)

    Clean errors and its codes and messages accordingly.
    New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
    Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
    Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

    * fix: Check if GivenName and FamilyName are empty (#7)

    * chore: Add Unreleased Section

    * Chore: Add Podspec (#9)

    * refactor: Simply Generic Method

    * chore: Add public podspec

    Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

    * feat: Add Stripe as First Payment Gateway (#11)

    Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

    * Feat: Add Gateway property to OSPMTDetailsModel (#12)

    Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

    * feat: Add AccessToken to Full Payment Process (#13)

    Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
    In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

    * chore: Set Release Tag

    Set release tag on the repo's CHANGELOG file.

commit e1d22e9
Author: Ricardo Silva <97543217+OS-ricardomoreirasilva@users.noreply.github.com>
Date:   Wed Nov 16 18:08:12 2022 +0000

    Merge Development Into Main (#10)

    * chore: Include swiftlint

    * feat: Plugin init + Setup Configurations (#1)

    Initialise plugin with required structure.
    Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
    Add Nimble and Quick through Cocoapods to use BDD for unit testing.

    * feat: Check Wallet and Payment Availability (#2)

    Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

    * feat: Set Details and Trigger Payment (#3)

    Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

    * refactor: Add DocC documentation and minor fixes. (#4)

    Add DocC documentation.
    Add empty value check and mandatory fields when fetching configuration properties.

    * fix: Payment Setup Verification Failed on Invalid Configuration (#5)

    Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

    * fix: Errors and Contact Management (#6)

    Clean errors and its codes and messages accordingly.
    New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
    Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
    Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

    * fix: Check if GivenName and FamilyName are empty (#7)

    * chore: Add Unreleased Section

    * Chore: Add Podspec (#9)

    * refactor: Simply Generic Method

    * chore: Add public podspec

    Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

commit 85bc27b
Author: Ricardo Silva <97543217+OS-ricardomoreirasilva@users.noreply.github.com>
Date:   Fri Aug 26 14:48:41 2022 +0100

    Merge Everything into Main (#8)

    * chore: Include swiftlint

    * feat: Plugin init + Setup Configurations (#1)

    Initialise plugin with required structure.
    Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
    Add Nimble and Quick through Cocoapods to use BDD for unit testing.

    * feat: Check Wallet and Payment Availability (#2)

    Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

    * feat: Set Details and Trigger Payment (#3)

    Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

    * refactor: Add DocC documentation and minor fixes. (#4)

    Add DocC documentation.
    Add empty value check and mandatory fields when fetching configuration properties.

    * fix: Payment Setup Verification Failed on Invalid Configuration (#5)

    Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

    * fix: Errors and Contact Management (#6)

    Clean errors and its codes and messages accordingly.
    New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
    Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
    Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

    * fix: Check if GivenName and FamilyName are empty (#7)
OS-ricardomoreirasilva added a commit that referenced this pull request Apr 11, 2024
* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* Merge Development Into Main (#10)

* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Make library available as xcframework (#15)

Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.

* chore: Set Release Tag

* Prepare Release 1.1.0 (#14)

* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* Prepare Release 1.1.1 (#16)

* chore: Include swiftlint

* feat: Plugin init + Setup Configurations (#1)

Initialise plugin with required structure.
Create structure to deal with Apple Pay. Despite being ready to deal with any kind of dictionary, provide an accelerator to read the configuration from the main bundle.
Add Nimble and Quick through Cocoapods to use BDD for unit testing.

* feat: Check Wallet and Payment Availability (#2)

Add verification for wallet and payment availability. Payment verification is enhanced by also checking it against the configured payment networks and supported capabilities.

* feat: Set Details and Trigger Payment (#3)

Configure the missing payment details and, by mixing it with the configuration info, trigger the payment request.

* refactor: Add DocC documentation and minor fixes. (#4)

Add DocC documentation.
Add empty value check and mandatory fields when fetching configuration properties.

* fix: Payment Setup Verification Failed on Invalid Configuration (#5)

Fix error when verifying payment setup on ReadyToPay method. If some payment network or merchant capabilities are missing, return the associated error.

* fix: Errors and Contact Management (#6)

Clean errors and its codes and messages accordingly.
New OSPMTContact struct that allows the management of the correct shipping and billing information to use on a payment request. This is required due to a limitation on OutSystems related with nullable lists.
Change the OSPMTConfigurationDelegate to OSPMTConfigurationModel, in order to comply with the new OutSystems structure.
Clean code (privatise local methods and make OSPMTPayment's delegate property weak, in order to avoid possible retain cycles).

* fix: Check if GivenName and FamilyName are empty (#7)

* chore: Add Unreleased Section

* Chore: Add Podspec (#9)

* refactor: Simply Generic Method

* chore: Add public podspec

Add public podspec. This implies also updating the readme.md file to something more descriptive and user-friendly.

* feat: Add Stripe as First Payment Gateway (#11)

Add all necessary logic and changes to make payment processing using Stripe including Protocols, Factories and Models to deal with the StripePayments pod. Unit tests are included.

* Feat: Add Gateway property to OSPMTDetailsModel (#12)

Add `gateway` property to `OSPMTDetailsModel` struct. When authorising payment, confirm that this property corresponds to a configured gateway (on plist).

* feat: Add AccessToken to Full Payment Process (#13)

Add the optional parameter `accessToken` to the `OSPMTActionDelegate`'s `set` method and the `OSPMTStripeWrapper`'s `processPaymentWithDetails` method. Apply consequent changes to it.
In case of a full payment is triggered but no access token is passed, a `tokenIssue` is returned.

* chore: Set Release Tag

Set release tag on the repo's CHANGELOG file.

* feat: Make library available as xcframework (#15)

Add the necessary script (script.sh) to make the library available as a xcframework.
Remove podspec file as the CocoaPods approach was discarded.
Exchange Stripe pod for a Swift Package Manager.

* chore: Set Release Tag

* fix: Update GitHub Actions (#17)

Update `github_actions.yml` file steps versions.

References: https://outsystemsrd.atlassian.net/browse/RMET-2568

* RMET-3283 ::: Add Privacy Manifest (#19)

* chore: add CODEOWNERS (#18)

Signed-off-by: IT-MikeS <20338451+IT-MikeS@users.noreply.github.com>

* chore: Update Stripe to `23.26.0`

Considering that this new version doesn't work with Xcode 14, we update the minimum versions to:
- xCode 15;
- iOS 14.
These updates require updating `Quick` and `Nimble` to the latest versions: `7.5.0` and `13.2.1` respectively. This requires updating the test cases, to make them pass successfully.
The update to iOS 14 also requires the insertion of the `presentationWindow(for:)` method for `OSPMTApplePayRequestBehaviour`.
Add `Podfile.lock` to the `gitignore` file.

References: https://outsystemsrd.atlassian.net/browse/RMET-3283

* chore: Update scripts

Update `github_actions.yml` file to allow the correct execution of the unit tests.
Update the `build.sh` script by including:
- the Xcode version to run;
- the `sdk`s to run;
- code signing.

* feat: Add Privacy Manifest

References: https://outsystemsrd.atlassian.net/browse/RMET-3283

* chore: Use `macos-14` for GitHub Actions

Replace `macos-latest` with `macos-14`. This is required as we aim to use Xcode 15 to run the unit tests.
Add `Gemfile.lock` file to `gitignore`.

References: https://outsystemsrd.atlassian.net/browse/RMET-3283

* chore: Add CHANGELOG entry

References: https://outsystemsrd.atlassian.net/browse/RMET-3283

---------

Signed-off-by: IT-MikeS <20338451+IT-MikeS@users.noreply.github.com>
Co-authored-by: Mike Summerfeldt <20338451+IT-MikeS@users.noreply.github.com>

* RMET-3340 ::: Prepare Release `1.2.0` (#20)

* chore: Set Release Version

Raise version to `1.2.0`.

References: https://outsystemsrd.atlassian.net/browse/RMET-3340

* fix: Typo

References: https://outsystemsrd.atlassian.net/browse/RMET-3340

* chore: Add missing configurations

---------

Signed-off-by: IT-MikeS <20338451+IT-MikeS@users.noreply.github.com>
Co-authored-by: Mike Summerfeldt <20338451+IT-MikeS@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants